/**
 * 大地图处理模块
 * inMap 大地图右上角第几章
 * TODO 需要截图
 */
let isUtilsLoaded = false
var utils = { autoJSUtil: null, gestureUtil: null, imageUtil: null }

function main() {
    sleep(3000)
    // 判断是否在当前阶段
    console.warn('大地图处理模块执行...')
    if (!isUtilsLoaded) {
        loadUtils()
        isUtilsLoaded = true
    }
    // 进入前, 提高练度
    // const levelingModuleStorage = storages.create('levelingModuleStorage')
    // const mailPullModuleStorage = storages.create('mailPullModuleStorage')
    // if (!levelingModuleStorage.get('complete') || !mailPullModuleStorage.get('complete')) {
    //     return
    // }
    // 判断当前是否在大地图
    const p = utils.imageUtil.findImageInCapture('map/inMap.png', 0.8)
    if (!p) {
        return
    }
    // 业务逻辑
    business()
}

function business() {
    goNextBattle()
}

function goNextBattle() {
    utils.imageUtil.findImageClick('map/inMap.png', 0.8, true)
    sleep(2000)
    const p = findImageCenter('map/next.png', 0.8)
    click(p.x, p.y + 130)
    // 短暂延时, 可能存在需要确认进入战斗的情况
    sleep(5000)
    utils.imageUtil.findImageClick('map/goin.png', 0.8, true)
    sleep(6000)
}

function findImageCenter(imageName, th) {
    const image = utils.imageUtil.getImage(imageName)
    const width = image.getWidth() / 2
    const height = image.getHeight() / 2
    const p = utils.imageUtil.findImageInCapture(imageName, th)
    if (p) {
        return {
            x: p.x + width / 2,
            y: p.y + height / 2
        }
    }
}

function loadUtils() {
    const configStorage = storages.create('config')
    utils.autoJSUtil = eval(configStorage.get('autoJSUtil'))
    utils.gestureUtil = eval(configStorage.get('gestureUtil'))
    utils.imageUtil = eval(configStorage.get('imageUtil'))
}

main()
